﻿using System;
using System.Collections.Generic;

namespace leetcode_learning
{
    class Program
    {
        static void Main(string[] args)
        {
            var bilibili = new Bilibili();

            //var sum_1 = bilibili.TwoSum(new int[] { 2, 7, 11, 15 }, 9);

            //var sum_2 = bilibili.TwoSumHash(new int[] { 2, 7, 11, 15 }, 9);

            //var l1 = new ListNode(9);
            //var l2 = new ListNode(1, new ListNode(9));

            //var addtwonumbers = bilibili.AddTwoNumbers(l1, l2);

            //var whilenodesum = bilibili.WhileNodeSum(l1, l2);

            //var tree = new TreeNode(3, new TreeNode(9), new TreeNode(20, new TreeNode(15), new TreeNode(7)));
            //var deep = bilibili.MaxDepth(tree);

            //var res = bilibili.IsPalindrome(122221);

            //var list1 = new ListNode(5);
            //var list2 = new ListNode(1, new ListNode(3, new ListNode(4)));

            //var merge = bilibili.MergeTwoLists(list1, list2);

            //var l1 = new int[] { 1, 2, 2, 1 };
            //var l2 = new int[] { 2, 3 };
            //var ins = bilibili.Intersect(l1, l2);

            //var ss = bilibili.IsValid("{{]}");

            //var pl = new int[] { 2,7,1,11,4 };
            //var price = bilibili.MaxProfit(pl);

            //var num = bilibili.Fib(43);

            //var ad = bilibili.Add(-1, 2);

            //var max = bilibili.MaxSubArrayX(new int[] { -2, 1, -3, 4, -1, 2, 1, -5, 4 });

            //var t = bilibili.TitleToNumber("FXSHRXW");

            //var l1 = new int[] { 1, 2, 3, 0, 0 };
            //var l2 = new int[] { 1, 4 };
            //bilibili.Merge(l1, 3, l2, 2);

            //var list = new ListNode(1, new ListNode(3, new ListNode(4)));
            //var s = bilibili.ReverseList(list);
            //var ad = bilibili.StrStr("a", "a");

            //var list1 = new ListNode(1, new ListNode(3, new ListNode(4)));
            //var last = bilibili.GetKthFromEnd(list1, 2);

            //var a = new ListNode(1, new ListNode(9, new ListNode(1, new ListNode(2, new ListNode(4)))));
            //var b = new ListNode(4);
            //var sn = bilibili.GetIntersectionNode(a, b);

            //var t = bilibili.ComplexNumberMultiply("1+-1i", "1+-1i");

            //var k = bilibili.FindKthLargest(new int[] { 3, 2, 3, 1, 2, 4, 5, 5, 6 }, 4);

            // var z = bilibili.TopKFrequent(new int[] { 1, 2 }, 2);

            var p = bilibili.LargestNumber(new int[] { 5, 54, 52, 67, 68, 5, 52, 17, 93, 53 });

            Console.WriteLine();




            Console.ReadKey();
        }


    }
}
